//package com.itrus.portal.utils;
//
//import java.util.List;
//
//import org.apache.ibatis.session.SqlSession;
//import org.springframework.beans.factory.annotation.Autowired;
//
///**
// * SQL工具类,利用泛型,和sql文件(java类,example类,mapper文件中的路径也指向一致)都处于一个db包下面的原理
// * 实现一般常用的sql一次性实现.
// * 
// * 也可以考虑在service中传入sqlsession
// * 
// * 使用条件:sql文件(java类,example类,mapper文件中的路径也指向一致)都处于一个包下
// * @author heguanhong
// * @date 2017/03/23
// */
//
//public class SQLUtils {
///*
//	@Autowired
//	SqlSession sqlSession;
//	
//	public <T> List selectByExample(T example){
//		String name = example.getClass().getName();
//		int lenght = name.length();
//		name = name.substring(0, lenght-7);
//		String sql= name+"Mapper.selectByExample";
//		System.out.println(sql);
//		List list = sqlSession.selectList(sql, example);
//		return list;
//	}
//	
//	/**
//	 * 输入一个要插入数据库的目标对象
//	 * @param target
//	 * @return
//	 */
//	public <T> T insert(T target){
//		String name = target.getClass().getName();
//		String sql= name+"Mapper.insert";
//		sqlSession.insert(sql, target);
//		sqlSession.flushStatements();
//		return target;
//	}
//	
//	/**
//	 * 更新一个目标对象
//	 * @param target
//	 * @return
//	 */
//	public <T> T updateByPrimaryKeySelective(T target){
//		String name = target.getClass().getName();
//		String sql= name+"Mapper.updateByPrimaryKeySelective";
//		sqlSession.insert(sql, target);
//		sqlSession.flushStatements();
//		return target;
//	}
//	
//	/**
//	 * 选择一个目标对象
//	 * @param target
//	 * @return
//	 */
//	public <T> T selectByPrimaryKey(T target,Long id){
//		String name = target.getClass().getName();
//		String sql= name+"Mapper.selectByPrimaryKey";
//		T object =  sqlSession.selectOne(sql, id);
//		sqlSession.flushStatements();
//		return object;
//	}
//	
//	
//	/**
//	 * 选择一个目标对象
//	 * @param target
//	 * @return
//	 */
//	public <T> T deleteByPrimaryKey(T target,Long id){
//		String name = target.getClass().getName();
//		String sql= name+"Mapper.selectByPrimaryKey";
//		T object =  sqlSession.selectOne(sql, id);
//		sqlSession.flushStatements();
//		return object;
//	}
//	
//	
//}
